//
// Copyright (C) [2024] Xingyun Integrated Circuit, Inc.
//
// GreenCode was a private technology asset of Xingyun Integrated Circuit， Inc （Confidential）
//  Author: Shawn.Tan
//  Date : 2025.10.28
//
//  History : Initial Version 2025.10.28
//

//
#ifndef Green_UtilityFunctionsGPGPU_H
#define Green_UtilityFunctionsGPGPU_H

#include "Defines.h"
#include "Enums.h"
#include ARCH_ENUM_HEADER

namespace Green {

  void privilege_prefix(std::string& rStr, uint32 priv, bool upper=false);
  void privilege_prefix(std::string& rStr, EPrivilegeLevelType priv, bool upper=false);
  bool illegal_exception_return(uint32 targetPriv, uint32 currentPriv);
  EPagingExceptionType get_exception_type_from_access_type(bool isInstr, EMemAccessType memAccess);
}
#endif //Green_UtilityFunctionsGPGPU_H
